using System;
using System.Collections.Generic;
using System.Text;

namespace Microsoft.Cryptography.Diagnostics
{
    /// <summary>
    /// Interface, which must be implemented by LogProviders
    /// </summary>
    public interface ILogMessage
    {
        /// <summary>
        /// LogMessage
        /// </summary>
        /// <param name="priority">priority for the message, which should be logged</param>
        /// <param name="sources">log sources for the message, which should be logged</param>
        /// <param name="message">message text, which should be logged</param>
        /// <param name="parameters">parameters for the message, which should be logged</param>
        void LogMessage(LogProvider.LogPriorities priority,
            LogProvider.LogSources[] sources,
            string message,
            params object[] parameters);
    }
}
